"""
字符串的定义和操作
"""
# 定义字符串
str1 = 'Hello, World!'  # 使用单引号定义字符串
# 1.通过下标访问字符串中的字符
print(str1[0])  # 输出: H
print(str1[7])  # 输出: W
# 2.index()方法
print(str1.index('W'))  # 输出: 7
# str1[0] = 'h'  # 报错, 字符串是不可变的
value = str1.index("World")  # 获取子字符串的起始索引
print(value)  # 输出: 8
# 3.replace()方法
new_str = str1.replace('World', 'Python')  # 替换子字符串
print(new_str)  # 输出: Hello, Python!
# 4.split()方法
words = str1.split(',')  # 按逗号和空格分割
print(words)  # 输出: ['Hello', 'World!']
# 5.strip()方法
str2 = '   Hello, Python!   '
print(str2)
clean_str = str2.strip()  # 去除两端的空白字符
print(clean_str)  # 输出: Hello, Python!
str3 = '12Hello, Python!21'
print(str3)
clean_str2 = str3.strip('12')  # 去除两端的指定字符
print(clean_str2)  # 输出: Hello, Python!
# 6.统计字符出现次数
count_l = str1.count('l')  # 统计字符'l'出现的次数
print(count_l)  # 输出: 3
# 7.统计字符串长度
length = len(str1)  # 获取字符串的长度
print(length)  # 输出: 13
# 8.字符串拼接
str3 = ' How are you?'
concatenated_str = str1 + str3  # 使用+号拼接字符串
print(concatenated_str)  # 输出: Hello, World! How are you?
# 9.字符串格式化
name = 'Alice'
age = 30
formatted_str = f'My name is {name} and I am {age} years old.'  # 使用f-string格式化字符串
print(formatted_str)  # 输出: My name is Alice and I am 30 years old.
# 10.字符串切片